package com.kakarote.hrm.constant;

public enum LabelGroupEnum {

    /**
     * * 1 员工个人信息 2 通讯信息 3 教育经历 4 工作经历 5 证书/证件 6 培训经历 7 联系人
     * * 11 岗位信息 12 离职信息
     * * 21 合同信息
     * * 31 工资卡信息 32 社保信息
     * * 51 兼职信息
     */
    PERSONAL(1, "员工基本信息表", "员工"),
    COMMUNICATION(2, "通讯信息", "通讯信息"),
    EDUCATIONAL_EXPERIENCE(3, "员工教育信息", "教育经历"),
    WORK_EXPERIENCE(4, "员工工作经历表", "工作经历"),
    CERTIFICATE(5, "职业资格表", "证书/证件"),
    TRAINING_EXPERIENCE(6, "培训经历", "培训经历"),
    CONTACT_PERSON(7, "员工家庭成员信息表", "联系人"),
    TECHNICAL(8, "专业技术职称表", "专业技术职称"),
    SPECIAL_WORKER(13, "员工专技工人证书表", "员工专技工人证书表"),
//    SOCIAL(9,"员工主要社会关系表","员工主要社会关系"),
    POST(11, "岗位信息表", "岗位信息"),
    QUIT(12, "离职信息", "离职信息"),
    CONTRACT(21, "合同信息", "合同信息"),
    SALARY_CARD(31, "工资卡信息", "工资卡信息"),
    SOCIAL_SECURITY(32, "社保信息", "社保信息"),
    RECRUIT_POST(41, "招聘职位", "招聘"),
    RECRUIT_CANDIDATE(42, "候选人", "候选人"),
    ACHIEVEMENT_APPRAISAL(43, "绩效考核", "绩效考核"),
    CONCURRENT_POST(51, "员工兼职信息表", "员工兼职信息表"),
    REWARDS_PUNISHMENTS(52, "员工奖惩情况", "员工奖惩情况");

    LabelGroupEnum(int value, String name, String desc) {
        this.value = value;
        this.name = name;
        this.desc = desc;
    }

    /**
     * 名称
     */
    private String name;

    /**
     * label
     */
    private int value;

    /**
     * 备注
     */
    private String desc;

    public static LabelGroupEnum parse(int label) {
        for (LabelGroupEnum labelGroupEnum : values()) {
            if (label == labelGroupEnum.value) {
                return labelGroupEnum;
            }
        }
        return PERSONAL;
    }


    public String getName() {
        return name;
    }

    public int getValue() {
        return value;
    }

    public String getDesc() {
        return desc;
    }

    public String getLanguageKey() {
        return "hrm.label.group." + this.name().toLowerCase().replace("_", ".");
    }

    public String getFieldFormat() {
        return "{" + this.getLanguageKey() + "}";
    }
}
